home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Carros Gold
/
Carros Gold 1.ISO
/
rally1
/
unarj.doc
< prev
next >
Wrap
Text File
|
1991-05-24
|
7KB
|
197 lines
UNARJ.DOC, UNARJ 2.10 May 1991
UNARJ software and manual copyright (c) 1991 by Robert K Jung.
All rights reserved.
UNARJ version 2.10 release
This documents new or updated information since UNARJ 2.00.
** IMPORTANT NEWS ****************************************************
There is an extended header bug in older versions of ARJ, AV.C and
UNARJ.C. The extended header processing in read_header() should
skip 4 bytes for the extended header CRC and not 2 bytes. This is
NOT a current problem as no versions of ARJ use the extended
header.
The following source line in DECODE.C is AMBIGUOUS and has been
corrected.
weight[i++] = 1 << (16 - i);
**********************************************************************
Now included is the C source code for a simple UNARJ extractor
program. It has been portabilized courtesy of Mark Adler for
platforms that do not support ANSI C. This UNARJ is NOT meant for use
as a production quality ARJ extractor. It is meant for the use of 3rd
party developers who want to build file readers, etc, for ARJ. The
UNARJ source code has been built and tested under Turbo C++ 1.0 and
Quick C 2.5.
It has none of the program protection and other fancy features of
ARJ 2.10. It is also VERY SLOW compared to ARJ!!! In ARJ, all of
the critical routines are written in assembly language.
COMMAND SYNTAX:
UNARJ has been modified to support the four commands: "e", "l", "t",
and "x". These are equivalent to the ARJ version of these commands.
However, UNARJ does not create directories when using the "x" command.
Usage: UNARJ archive[.arj] (list archive)
UNARJ e archive (extract archive)
UNARJ l archive (list archive)
UNARJ t archive (test archive)
UNARJ x archive (extract with pathnames)
UNARJ does not accept any other commands or options. You cannot
specify a base directory or select individual files to extract. UNARJ
does not support empty directories or volume labels. UNARJ is much
slower than ARJ because ARJ is highly optimized using assembly
language.
"e" extract command
This command extracts the contents of the ARJ archive to the current
directory. Files in the archive that already exist in the current
directory will not be extracted.
"l" list command
This command lists the contents of the archive to the screen. The
UNARJ l command replaces the old AV.EXE program.
The last field on the display TPMGVX stands for:
T -> text/binary/directory/volume label type
P -> path information available in "V" listing
M -> compression method used
G -> file has been garbled (encrypted)
V -> archive has been continued to another volume
X -> this file is an extended portion of a larger file
"t" test command
This command tests the contents of the archive by extracting the files
to the NUL device (no data will be written to disk). If the contents
of a file is corrupted, UNARJ will display "CRC error!". If the
contents are valid, UNARJ will display "CRC OK".
"x" extract with pathnames command
This command extracts the contents of the ARJ archive to the pathnames
stored in the archive. If only filespecs are stored in the archive,
then the files will be extracted to the current directory. UNARJ will
not create missing directories in the pathnames. You must create them
manually. Use the UNARJ t command to see the full pathnames stored in
the archive.
PROGRESS INDICATOR
UNARJ uses a small spinning bar to indicate extraction/testing
progress.
BUILDING THE UNARJ PROGRAM
Source files: UNARJ.C, DECODE.C, ENVIRON.C, UNARJ.H, UNARJ.DEF,
TCCUNARJ.MAK, QCLUNARJ.MAK, OS2UNARJ.MAK.
For Turbo C/C++, type MAKE -ftccunarj.mak
For QuickC, type NMAKE /F qclunarj.mak
For OS/2, type NMAKE /F os2unarj.mak
If you use a compiler other than listed above, the resulting UNARJ.EXE
will not support restoring file date-time stamps or file attributes.
You can modify the ENVIRON.C file to add these functions for your
particular implementation environment.
For UNIX, type cc unarj.c decode.c environ.c
Send me your implementations and I will try to incorporate them into
the next version of UNARJ.
UNARJ LICENSE POLICY FOR ALL USERS:
You may freely use the UNARJ C source code provided the end product is
NOT a file archiver (compress and extract). If you wish to distribute
a modified version of this program, you MUST include the source code
and indicate that it is a modified version both in the program and
source code.
If you modify this program, I would appreciate a copy of the new source
code. I am holding the copyright on the source code, so please do not
delete my name from the program files or the documentation.
The UNARJ.EXE program is built from this source using Turbo C++ 1.0.
You may freely use, copy, and distribute this program, provided that
no fee is charged for such use, copying or distribution, and it is
distributed ONLY in its original unmodified state.
TECHNICAL SUPPORT:
Please report any bugs. I will TRY to fix them. If you have
portability improvements, I would appreciate receiving a copy of them.
If you find UNARJ of value, a gift of 10 dollars or any amount would be
greatly appreciated.
I can be reached at:
Robert Jung at Wonderland BBS (508) 663-6220
Robert Jung at Dimensional Crossroads BBS (508) 427-5379
Robert Jung at Bay State BBS (617) 598-6646
Robert Jung at FIDONET address: 1:16/390.7
Robert Jung in the COMPRESS (ILINK), LHARC / COMPRESSIONS
(SMARTNET), SHARE (RIME) or ARCHIVERS (RELAYNET) echo conferences.
2606 Village Road West
Norwood, Massachusetts 02062
USA
Internet address: robjung@world.std.com (Checked daily)
Compuserve users can enter >INTERNET: robjung@world.std.com
at the "Send to" prompt. I prefer CompuServe users to send mail
to this address as opposed to my CompuServe userid below.
CompuServe userid: 72077,445 (Checked infrequently)
DISCLAIMER:
This software UNARJ is provided on an "as is" basis without warranty
of any kind, expressed or implied, including but not limited to the
implied warranties of merchantability and fitness for a particular
purpose. The person using the software bears all risk as to the
quality and performance of the software. Should the software prove
defective, the user assumes the entire cost of all necessary repair,
servicing, or correction. The author will not be liable for any
special, incidental, consequential, indirect or similar damages due to
loss of data or any other reason, even if the author or an agent of
the author has been advised of the possibility of such damages.
end document